package avicit.bdp.dds.api.dto;

import avicit.bdp.common.base.BaseDTO;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2022-05-23
 * @类说明：NoteBookDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：NoteBook服务DTO
 */
@ApiModel(value = "NoteBookDTO", description = "NoteBook服务表")
@Table(name = "bdp_phm_notebook")
public class NoteBookDTO extends BaseDTO {
    /**
     * 主键ID
     */
    @LogField
    @ApiModelProperty(value = "ID")
    @FieldRemark(column = "id", field = "id", name = "ID")
    @Column(name = "id")
    @Id
    @javax.persistence.Id
    private String id;

    /**
     * 名称
     */
    @LogField
    @ApiModelProperty(value = "名称")
    @FieldRemark(column = "name", field = "name", name = "名称")
    @Column(name = "name")
    private String name;

    /**
     * 描述
     */
    @LogField
    @ApiModelProperty(value = "描述")
    @FieldRemark(column = "remark", field = "remark", name = "描述")
    @Column(name = "remark")
    private String remark;

    /**
     * 空间id
     */
    @LogField
    @ApiModelProperty(value = "空间id")
    @FieldRemark(column = "project_id", field = "projectId", name = "空间id")
    @Column(name = "project_id")
    private String projectId;

    /**
     * Jupyter Notebook服务URL，格式为http://ip:port/?token=value
     */
    @LogField
    @ApiModelProperty(value = "URL地址")
    @FieldRemark(column = "url", field = "url", name = "URL地址")
    @Column(name = "url")
    private String url;

    /**
     * Jupyter Notebook服务Port
     * 注意：默认值为8888；新建服务port=max(表中port) + 1
     */
    @LogField
    @ApiModelProperty(value = "NoteBook服务port")
    @FieldRemark(column = "port", field = "port", name = "NoteBook服务port")
    @Column(name = "port")
    private Integer port;

    /**
     * token信息
     */
    @LogField
    @ApiModelProperty(value = "NoteBook服务token")
    @FieldRemark(column = "token", field = "token", name = "NoteBook服务token")
    @Column(name = "token")
    private String token;

    /**
     * Jupyter Notebook服务Base URL，路由使用
     */
    @LogField
    @ApiModelProperty(value = "URL地址")
    @FieldRemark(column = "base_url", field = "baseUrl", name = "Base URL地址")
    @Column(name = "base_url")
    private String baseUrl;

    /**
     * Jupyter Notebook服务状态;0：未启动；1：运行中；2：停止；3：失败；
     */
    @LogField
    @ApiModelProperty(value = "状态")
    @FieldRemark(column = "status", field = "status", name = "状态")
    @Column(name = "status")
    private Integer status;

    /**
     * Jupyter Notebook服务启动日志
     */
    @LogField
    @ApiModelProperty(value = "启动日志")
    @FieldRemark(column = "log", field = "log", name = "启动日志")
    @Column(name = "log")
    private String log;

    /**
     * Jupyter NoteBook服务后台进程ID
     */
    @LogField
    @ApiModelProperty(value = "Jupyter NoteBook服务后台进程ID")
    @FieldRemark(column = "pid", field = "pid", name = "Jupyter NoteBook服务后台进程ID")
    @Column(name = "pid")
    private Integer pid;

    /**
     * 是否显示；0：不显示；1：显示
     */
    @LogField
    @ApiModelProperty(value = "是否显示")
    @FieldRemark(column = "showed", field = "showed", name = "是否显示")
    @Column(name = "showed")
    private Integer showed;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getBaseUrl() {
        return baseUrl;
    }

    public void setBaseUrl(String baseUrl) {
        this.baseUrl = baseUrl;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getLog() {
        return log;
    }

    public void setLog(String log) {
        this.log = log;
    }

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public Integer getShowed() {
        return showed;
    }

    public void setShowed(Integer showed) {
        this.showed = showed;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }
}
